let main = class{
    
    constructor(){
        // 初始化引擎
        Laya.init(180,360,Laya.WebGL)
        Laya.stage.scaleMode = Laya.stage.SCALE_FIXED_AUTO;

        // 游戏速度
        this.speed = 1.5
        // 频率
        this.frequency = 1500
        // 路程
        this.l = 0
        // 得分
        this.fen = 0


        this.bg = new BackGround(this.speed)
        Laya.stage.addChild(this.bg)


        this.hero = new Hero()
        
        Laya.stage.addChild(this.hero)

        this.homeUI = new Home()
        Laya.stage.addChild(this.homeUI)

        
        // 生成
        Laya.timer.frameLoop(1,this,this.newApc)

        // 主方法
        Laya.timer.frameLoop(1,this,this.run)

        // 计分
        let that = this
        setInterval(function() {
            that.fen ++ 
            that.homeUI.text.text = '当前得分:' + that.fen + '分'
            if(that.fen % 10 == 0){
                that.speed += 0.5
                that.bg.speed += 0.5
            }
        }, 1000);
        
    }

    newApc(){
        if(this.bg.l >= 150){
            this.bg.l = 0
            let type = Math.round(Math.random()) + 1
            this.apc = new Apc(type,this.speed)
            Laya.stage.addChild(this.apc)
        }
        this.l ++
    }

    run(){
           // 拿出所有对象
      for(let i = 0;i < Laya.stage.numChildren;i ++){
        for(let j = i + 1;j < Laya.stage.numChildren;j ++){
            // 当一个是apc一个是主角的时候  检测碰撞
            if(Laya.stage.getChildAt(i).className == "Apc" && Laya.stage.getChildAt(j).className == "Hero"){
                if(Util.collision(Laya.stage.getChildAt(i),Laya.stage.getChildAt(j))){
                   this.GG()
                }
            }
            if(Laya.stage.getChildAt(j).className == "Apc" && Laya.stage.getChildAt(i).className == "Hero"){
                if(Util.collision(Laya.stage.getChildAt(i),Laya.stage.getChildAt(j))){
                    this.GG()
                }
            }
            //////
        }

             if(Laya.stage.getChildAt(i).className == "Apc"){
                if(Laya.stage.getChildAt(i).y > Laya.stage.height){
                    Laya.stage.removeChildAt(i)
                }
            }
      }

    }

    GG(){
        if(this.fen < 20){
            alert("GG , 你居然能才坚持了" + this.fen + "秒,你也太快了吧0.0")
        }else{
             alert("GG , 你成功的坚持了" + this.fen + "秒钟,就凑合给你个" + this.fen + "分吧")
        }
      
        this.closeGame()
    }

    closeGame(){
        // 生成
        Laya.timer.clear(this,this.newApc)

        // 主方法
        Laya.timer.clear(this,this.run)
        this.bg.stop()
    }

}

new main()